כמו כל דבר בחיים, גם בעולם התוכנות לא ניתן להשיב לאחור את גלגל הזמן. תוכנה שנכתבה קשה מאד, וגם יקר, להחזיר ל"שולחן השירטוטים" והפתרון המתבקש לכל מנהל חברה שמעוניין להוציא מערכת החוצה ללקוח ו"לשכוח ממנה" (במובן שהיא לא תיאלץ את המפתח לשבת עליה שוב ושוב לתיקונים) הוא פשוט להעביר את התוכנה בדיקות QA מקיפות, בסיום כל שלב בפיתוח התוכנה. אך האם המתכנת עצמו יכול, מטעמים של זמן, ידע ורצון, לעבור שוב ושוב על התוכנה, במקום להגיש אותה בזמן המועט שהוקצב לו ממילא? ברור שלא, ולכן את בדיקות ה-QA מעבירים לחברה חיצונית המתמחה בבדיקות ושירות מעין אלה. בודק QA מצויד גם בכלים טכניים, במיומנות ובדרך חשיבה שזהה לעיתים לדרך החשיבה והעבודה של הלקוח. זה לא בגלל שהוא "יותר חכם" מהתוכניתן אלא רק בגלל שהמקצוע שלו זה בדיקות וזה מה שהוא עושה – הוא לא מעביר את התוכנה בדיקות "כבדרך אגב" על הדרך כפי שהיה עושה התוכניתן. הוא בודק פרמטרים רבים שלעיתים לא קשורים לטכניקה עצמה אלא יכולים להיות כשל בעיצוב שעלול להפריע למשתמש, רמה גבוהה מדי של הפעלת מערכת, מצב לא מתקבל על הדעת שיצריך את המשתמש לעבור קורס רק בשביל התוכנה הזו, ועוד. לסיכום, בדיקות QA הן שלב הכרחי שמלווה כל סיום שלב פיתוח, לפני שהמפתח סיים את הפיתוח ובוודאי לפני שהלקוח מקבל את התוכנה לידיו. אם יתגלה באג בשלב כה מאוחר והמערכת תתנהג בצורה לקויה אצל הלקוח, התוכנה תצטרך לחזור לפיתוח – כשהמפתח כבר עבר לפתח מערכת חדשה עם לוח זמנים לא פחות לחוץ - ומישהו יצטרך לשלם על זה ביוקר.